草庐IT

c++ - Visual Studio 和 Boost::Test

全部标签

python - 如何在Windows 7中获取文件的所有者?

我有一个问题-在打开文件时的窗口中显示上次修改文件的人的名字。如果您右键单击该文件并选择“属性”和“详细信息”选项卡,则此信息可用...我看到所有者行和名称,但我不知道如何从我的脚本中获取此信息。让我们看看文件的属性:\\server\project\sequences\ttt_sRnd.v016.mb我使用Python2.7,但我没有找到如何获取数据的解决方案……在Linux中它是有效的。但不是在window里。我尝试控制实用程序窗口。dir/Q-它在本地文件上工作C:\temp>dir/Qfile.ext11/06/200415:33290,304COMP\userfile.ext

c++ - 将 Windows 上的 32 位和 64 位 Boost 构建到同一文件夹中

我正在寻找config.jam的简单设置,它将使用MSVC在Windows上为x86和x64构建Boost(1.60或更高版本)。理想情况下使用对b2的单个调用——我知道它应该支持从单个调用生成多个输出。对x86和x64有两个单独的调用是可以的,但不是首选。我想要的另一件事是将两组库输出到相同文件夹中。显然,它们需要有不同的名称,所以我希望将-x64放在x64二进制文件名称中的某个位置。而且它仍然需要自动链接,所以我不能手动重命名它们,它必须是构建系统支持的东西。这部分是必不可少的。我已经readb2提供了一个--buildid参数并且自动链接支持BOOST_LIB_BUILDID定义

c - Windows 上的/proc/net/dev 替代方案

我有一个C语言程序,它读取/proc/net/dev并解析下载和上传的字节数。当我即将超过某个阈值时,我用它来显示通知并保存下载/上传的统计数据。我的问题是,如何使它在Windows上也能正常工作?Unix系统下有没有和/proc/net/dev功能一样的文件?或者如何获取自Windows启动以来传输的字节数?谢谢。 最佳答案 在您的C程序中,您可以执行诸如system('netstat-e')之类的操作并解析结果。其他netstat选项也可能有助于解决此类问题。 关于c-Windows

c++ - 加载的 OpenGL 函数是上下文特定的还是线程特定的? ( Windows )

考虑一个场景,其中2个渲染上下文(每个都属于它们自己不同的窗口)存在于2个独立的执行线程中。OpenGL函数指针是否需要分别加载和使用?或者gl*函数指针可以是全局的,只为给定的应用程序实例加载一次并由两个窗口或上下文使用吗?我问的原因是因为OpenGLFunctionLoadingDocs,在谈到加载wgl函数时,指出:ThisfunctiononlyworksinthepresenceofavalidOpenGLcontext.Indeed,thefunctionpointersitreturnsarethemselvescontext-specific.TheWindowsdoc

c++ - Boost::process 在 Windows 上隐藏控制台

最近发布了boost1.64,包括boost::process。这为启动进程提供了一个简单的界面。之前我使用了独立版本的boost::process库(参见here)。这很好用。我想换到新版本,这样我就可以放弃独立的依赖。API有点不同,但一切正常,除了onthing。在旧版本中,我能够传递特定于Windows的上下文对象,这允许我隐藏进程打开的任何控制台窗口。boost::process::win32_contextctx;ctx.environment=boost::process::self::get_environment();STARTUPINFOAstup;ZeroMemo

c - 如何在 Linux 上调试 LEX/FLEX 程序

如何在Linux上调试LEX/FLEX程序?编译运行代码如下:lexexample.lgcclex.yy.c-lfl./a.out-dtoken是否可以调试LEX/FLEX?如果是,我需要在代码中的哪一行编译? 最佳答案 您在flex命令行上使用-d(如lex-dexample.l——假设您的lex实际上是flex,它在linux上)。这将默认启用Debug模式,这将在识别每个token时打印出有关它的信息。您可以通过更改全局变量yy_flex_debug在词法分析器中动态打开和关闭Debug模式——将其设置为零将关闭调试打印,并将

c - x86-64下的快速堆栈切换

在x86-64下切换堆栈的最少代码是多少?我正在尝试在没有getcontext或setjmp+内联汇编的情况下在Windows和Linux下实现纤程。它真的像交换$rsp和$rbp一样简单吗?因为我可以轻松做到。我只是不知道该怎么做。我对我的x86-64知识生疏了。 最佳答案 将RSP更改为指向不同的堆栈必须作为上下文切换的一部分来完成,上下文切换会保存旧线程/纤程中的所有寄存器并从新寄存器加载已保存的架构状态。不仅是RBP,还有所有RAX-RDI和R8-R15,以及RIP(通过jmp或ret)。我认为还有所有其他调用保留的架构状态

c++ - ms-extensions 标志对 gcc 有什么作用?

GCC有一个标志-fms-extensions。这个标志到底是做什么的?为什么它有时默认打开,它为什么存在? 最佳答案 根据gcc9.1.0源代码(greppedforflag_ms_extensions),效果是:(C)​​允许Microsoft版本的匿名union和结构。这包括对C11anonymousunionsandstructs的支持以及Microsoft-specificflavours,包括完全省略大括号成员列表,以及将成员放置在父namespace中,即使结构/union具有标识符也是如此。(C++)允许类成员与其类

c - Windows中c的 sleep 功能。是否存在精度更高的函数?

我想知道是否有人知道可以在c的窗口中使用的更好的sleep函数,而不是Sleep(),它需要毫秒输入并且只保证输入是经过的最小时间量。我在1毫秒内传递,但实际上有15-16毫秒的延迟。有什么办法可以准确设置指定的休眠时间吗? 最佳答案 不,不是真的。当您告诉您的程序休眠时,您将放弃处理器并让操作系统决定下一步做什么。一旦操作系统处于控制之下,它就会决定何时给您的程序另一片处理时间。这就是为什么您可以指定最小值,但不能保证操作系统会在任何特定时间返回到您的进程。 关于c-Windows中c

创建隐藏进程(窗口不可见)

我使用CreateProcess()并将启动标志设置为STARTF_USESHOWWINDOW和SW_HIDE以在后台启动应用程序并隐藏其窗口。我这样做是为了运行计划的维护任务,我不想被Windows打扰。在大多数情况下,窗口是隐藏的,但在某些情况下,程序的窗口会在您面前突然弹出(例如Google的Chrome-我开始使用不同的应用程序进行测试,看看这是否曾经是一个问题,但不是...).这种情况在WindowsXP中发生的次数较少,但在Vista中发生的次数很多。是否有我缺少的标志?有没有其他方法可以创建隐藏窗口的进程?谢谢!我的示例代码是:char*ProgramNameSTARTU